#include "visualizadorListaDuplaLigadaStl.h"
//------------------------------------------------------------------------------
visualizadorListaDuplaLigadaStl::visualizadorListaDuplaLigadaStl(float x,float y):visualizadorAbstrato(x,y)
{
	lstListaDuplamenteLigadaStl = new ListaDuplamenteLigadaStl;
};
//------------------------------------------------------------------------------
visualizadorListaDuplaLigadaStl::~visualizadorListaDuplaLigadaStl()
{
	delete lstListaDuplamenteLigadaStl;
	lstListaDuplamenteLigadaStl = NULL;
};
//------------------------------------------------------------------------------
void visualizadorListaDuplaLigadaStl::desenha(TImage *area,double escalaX,double escalaY)const
{
		area->Canvas->Brush->Color = clMaroon;
		area->Canvas->Rectangle((getX())*escalaX,(getY())*escalaY,(getX()+44)*escalaX,(getY()+44)*escalaY);
		if (escalaX == 1)
		{
				area->Canvas->Rectangle((getX()+2)*escalaX,(getY()+6)*escalaY,(getX()+25)*escalaX,(getY()+37)*escalaY);
				area->Canvas->Brush->Color = clMaroon;
				area->Canvas->TextOutA((getX()+27)*escalaX,(getY()+6)*escalaY,"x2");

				//linhas da lista
				area->Canvas->MoveTo(getX()+5,getY()+10);
				area->Canvas->LineTo(getX()+20,getY()+10);
				area->Canvas->MoveTo(getX()+5,getY()+13);
				area->Canvas->LineTo(getX()+20,getY()+13);
				area->Canvas->MoveTo(getX()+5,getY()+16);
				area->Canvas->LineTo(getX()+20,getY()+16);
				area->Canvas->MoveTo(getX()+5,getY()+19);
				area->Canvas->LineTo(getX()+20,getY()+19);
				area->Canvas->MoveTo(getX()+5,getY()+22);
				area->Canvas->LineTo(getX()+20,getY()+22);
				area->Canvas->MoveTo(getX()+5,getY()+25);
				area->Canvas->LineTo(getX()+20,getY()+25);

				//texto
				area->Canvas->Brush->Color = clWhite;
				area->Canvas->TextOutA((getX()+6)*escalaX,(getY()+29)*escalaY,"LDLStl" +IntToStr(getIdentidade()));
		}
};
//------------------------------------------------------------------------------
void visualizadorListaDuplaLigadaStl::interage()
{
	TfrmListaDuplamenteLigadaStl * frmListaDuplaLigadaStl = new TfrmListaDuplamenteLigadaStl(Application, lstListaDuplamenteLigadaStl);
	frmListaDuplaLigadaStl->ShowModal();
	delete(frmListaDuplaLigadaStl);
	frmListaDuplaLigadaStl = NULL;
};
//------------------------------------------------------------------------------

